package cn.data.stream.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;

/**
 * 下游组件
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface Output {

    /**
     * <pre>
     * 指定下游stream<br>
     *     格式:{"nextStream:springBeanName",...,"nextStreamN:springBeanNameN"} 表示下游stream名为nextStream,类型为springBeanName（stream 在spring容器中的名称）
     * 当springBeanName 不指定时，默认nextStream的值为springBeanName
     *  </pre>
     *
     * @return
     */
    String[] outputs() default {};
}
